package classesBancodeDados;

import classesMiolo.FichaKey;
import classesMiolo.Prescricao;
import java.io.Serializable;
import java.util.ArrayList;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;

@Entity
@IdClass(FichaKey.class)
public class FichaPrescricaoMedDoseIndiv implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    private String nPront;
    @Id
    private String sus;

    private String dia;
    private String clinica;
    private String enferm;
    private int leito;
    private ArrayList<Prescricao> prescricoes;
    private String separadoPor;
    private String farmaceutico;
    private String medico;

    public FichaPrescricaoMedDoseIndiv(String nPront, String sus, String dia,
                                       String clinica, String enferm, int leito,
                                       ArrayList<Prescricao> prescricoes,
                                       String separadoPor, String farmac, String med) {
        this.nPront = nPront;
        this.sus = sus;
        this.dia = dia;
        this.clinica = clinica;
        this.enferm = enferm;
        this.leito = leito;
        this.prescricoes = prescricoes;
        this.farmaceutico = farmac;
        this.medico = med;
        this.separadoPor = separadoPor;
    }
    
    public FichaPrescricaoMedDoseIndiv() {
        this.nPront = "";
        this.sus = "";
        this.dia = "";
        this.clinica = "";
        this.enferm = "";
        this.leito = 0;
        this.prescricoes = new ArrayList<>();
        this.farmaceutico = "";
        this.medico = "";
        this.separadoPor = "";
    }
    
    public String getNumeroProntuario() {
        return nPront;
    }

    public void setNumeroProntuario(String nPront) {
        this.nPront = nPront;
    }

    public String getSus() {
        return sus;
    }

    public void setSus(String sus) {
        this.sus = sus;
    }

    public String getDia() {
        return dia;
    }

    public void setDia(String dia) {
        this.dia = dia;
    }

    public String getClinica() {
        return clinica;
    }

    public void setClinica(String clinica) {
        this.clinica = clinica;
    }

    public String getEnferm() {
        return enferm;
    }

    public void setEnferm(String enferm) {
        this.enferm = enferm;
    }

    public int getLeito() {
        return leito;
    }

    public void setLeito(int leito) {
        this.leito = leito;
    }

    public ArrayList<Prescricao> getPrescricoes() {
        return prescricoes;
    }

    public void setPrescricoes(ArrayList<Prescricao> prescricoes) {
        this.prescricoes = prescricoes;
    }

    public String getSeparadoPor() {
        return separadoPor;
    }

    public void setSeparadoPor(String separadoPor) {
        this.separadoPor = separadoPor;
    }

    public String getFarmaceutico() {
        return farmaceutico;
    }

    public void setFarmaceutico(String farmaceutico) {
        this.farmaceutico = farmaceutico;
    }

    public String getMedico() {
        return medico;
    }

    public void setMedico(String medico) {
        this.medico = medico;
    }  

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (nPront != null ? nPront.hashCode() : 0);
        hash += (sus != null ? sus.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof FichaPrescricaoMedDoseIndiv)) {
            return false;
        }
        FichaPrescricaoMedDoseIndiv other = (FichaPrescricaoMedDoseIndiv) object;
        if ((this.nPront == null && other.nPront != null) || (this.nPront != null && !this.nPront.equals(other.nPront))) {
            return false;
        }
        if ((this.sus == null && other.sus != null) || (this.sus != null && !this.sus.equals(other.sus))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "classesBancodeDados.FichaPrescricaoMedDoseIndiv[ nPront=" + nPront + ", sus=" + sus + " ]";
    }
    
}
